package com.daigoudao.web.service.impl;

import java.util.List;

import com.daigoudao.web.dao.IUserAddrDao;
import com.daigoudao.web.model.UserAddrModel;
import com.daigoudao.web.service.IUserAddrService;

public class UserAddrServiceImpl implements IUserAddrService {

	private IUserAddrDao userAddrDao;

	public IUserAddrDao getUserAddrDao() {
		return userAddrDao;
	}

	public void setUserAddrDao(IUserAddrDao userAddrDao) {
		this.userAddrDao = userAddrDao;
	}

	@Override
	public List<UserAddrModel> getAddrListByUserID(int userid) {
		return userAddrDao.getAddrListByUserID(userid);
	}

	public UserAddrModel getAddrByAddrID(int addrid) {
		return userAddrDao.getAddrByAddrID(addrid).get(0);
	}

	public void updateUserAddr(UserAddrModel userAddrModel) {
		userAddrDao.updateUserAddr(userAddrModel);
	}

	public void saveAddr(UserAddrModel userAddrModel) {
		if (userAddrModel.getDefaultAddr() == 1) {
			int userid = userAddrModel.getUserId();
			List<UserAddrModel> list = userAddrDao
					.getDefaultAddrByUserID(userid);
			if (list != null && list.size() > 0) {
				UserAddrModel temp = list.get(0);
				// 置为非默认
				temp.setDefaultAddr(0);
				userAddrDao.setDefaultAddr(temp);
			}
		}
		userAddrDao.addUserAddr(userAddrModel);
	}

	public void deleteAddr(UserAddrModel userAddrModel) {
		userAddrDao.deleteAddr(userAddrModel);
	}

	public void setDefaultAddr(UserAddrModel userAddrModel) {
		int userid = userAddrModel.getUserId();
		List<UserAddrModel> list = userAddrDao.getDefaultAddrByUserID(userid);
		if (list != null && list.size() > 0) {
			UserAddrModel temp = list.get(0);
			// 置为非默认
			temp.setDefaultAddr(0);
			userAddrDao.setDefaultAddr(temp);
		}
		userAddrModel.setDefaultAddr(1);
		userAddrDao.setDefaultAddr(userAddrModel);
	}

	public int getAddrCount(int userId) throws Exception {
		return userAddrDao.getAddrCount(userId);
	}
}
